The present invention relates, in general, to a system for evaluating the quality and accuracy of numerical control programs of the type used to produce machined parts on numerical control machines. More particularly, the invention is directed to a system for simulating the numerical control program exactly through the use of a graphics system to thereby eliminate the need for testing the program on the actual machine tool, and to eliminate the down time of the tool that would normally be required for testing of the program.
Traditionally, personnel wanting to provide control instructions for numerical control machine tools such as a milling machines, plotters, routers, horizontal and vertical mills, robots and the like, will use manual as well as automatic methods for generating punch-tape file containing the numerical control instructions. The punch-tape file is the vehicle for feeding the required information to the machine to be controlled, and may take any one of many known forms including perforated tape, magnetic tape, and the like. The control data carried by the tape is then supplied to the machine where a tape try-out cycle is exercised. This try-out cycle, or dry run, is then used to evaluate the integrity of the numerical control program and to assure the programmer that the machine tool will perform as desired. Typically, such dry runs are needed whenever a change in the numerical control instructions is effected, or when a new program is being introduced. However, this is a time-consuming process which not only takes the machine out of production, but also requires the valuable time of the machine tool operator and the numerical control programmer, and requires the use of sample material
Various attempts have been made to produce systems for testing numerical control programs without requiring a shut down of a production machine each time a minor change in the numerical control instructions is made, such as might be brought about by a small revision in an engineering drawing. U.S. Pat. No. 4,519,026 to Nozawa and U.S. Pat. No. 4,530,046 to Munekata et al are examples of such systems which provide visualization of a numerical control. However, in both of these cases, and as typical in prior art test systems, the visualization is provided by a display of the information placed in the machine by the operator, and not by a display of the final machine controller data; that is, of the actual machine code.
Crucial to the value of a simulation and verification process in the data which is actually being simulated. Numerical control programs typically are transformed through several steps before actually being loaded into the machine tool which they will drive. Although a numerical control program, when developed, may be quite accurate, such a program may be used to drive machine tools having different control characteristics. For example, the machines could be manufactured by a variety of manufacturers, or by one manufacturer at different times under different model numbers. To convert a general program into a program for a specific machine, a format table which uniquely describes the machine controller must be used to convert the general program to produce the final machine code which is used to drive a particular machine. Without a validation of this final machine code, there can be no assurance that the final product will produce a high quality result, and it is for this reason that, in the past, it has been necessary to actually operate the machine tool in order to determine the quality of numerical control program.